﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Marksona : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona {
        
        private System.Int64? @__objektID;
        
        private System.DateTime? @__algusKP;
        
        private string @__alustaja;
        
        private System.DateTime? @__loppKP;
        
        private string @__lopetaja;
        
        private System.DateTime? @__sulgemiseKP;
        
        private System.Int32? @__jrkNrHarus;
        
        private string @__vaartus;
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> @__alamMarksonad = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona>();
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> @__asendatavadMarksonad = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona>();
        
        public Marksona() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Marksona(System.Int64? @objektID, System.DateTime? @algusKP, string @alustaja, System.DateTime? @loppKP, string @lopetaja, System.DateTime? @sulgemiseKP, System.Int32? @jrkNrHarus, string @vaartus, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> @alamMarksonad, System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> @asendatavadMarksonad) {
            this.@__objektID = @objektID;
            this.@__algusKP = @algusKP;
            this.@__alustaja = @alustaja;
            this.@__loppKP = @loppKP;
            this.@__lopetaja = @lopetaja;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__jrkNrHarus = @jrkNrHarus;
            this.@__vaartus = @vaartus;
            this.@__alamMarksonad = @alamMarksonad;
            this.@__asendatavadMarksonad = @asendatavadMarksonad;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Marksona(IMarksona @marksona) {
            this.@__objektID = @marksona.ObjektID;
            this.@__algusKP = @marksona.AlgusKP;
            this.@__alustaja = @marksona.Alustaja;
            this.@__loppKP = @marksona.LoppKP;
            this.@__lopetaja = @marksona.Lopetaja;
            this.@__sulgemiseKP = @marksona.SulgemiseKP;
            this.@__jrkNrHarus = @marksona.JrkNrHarus;
            this.@__vaartus = @marksona.Vaartus;
            this.@__alamMarksonad = @marksona.AlamMarksonad;
            this.@__asendatavadMarksonad = @marksona.AsendatavadMarksonad;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual string Alustaja {
            get {
                return this.@__alustaja;
            }
            set {
                this.@__alustaja = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual string Lopetaja {
            get {
                return this.@__lopetaja;
            }
            set {
                this.@__lopetaja = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual System.Int32? JrkNrHarus {
            get {
                return this.@__jrkNrHarus;
            }
            set {
                this.@__jrkNrHarus = value;
            }
        }
        
        public virtual string Vaartus {
            get {
                return this.@__vaartus;
            }
            set {
                this.@__vaartus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> AlamMarksonad {
            get {
                return this.@__alamMarksonad;
            }
            set {
                this.@__alamMarksonad = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMarksona> AsendatavadMarksonad {
            get {
                return this.@__asendatavadMarksonad;
            }
            set {
                this.@__asendatavadMarksonad = value;
            }
        }
    }
}
